5.03. Встроенные функции в Java
Встроенные функции в Java
Java не использует глобальные функции. Все операции выполняются через статические методы классов стандартной библиотеки. Основные утилиты сосредоточены в пакете java.lang и вспомогательных классах.
Завершение программы и системные операции
| Метод | Назначение | Пример |
|---|---|---|
System.exit(int status) | Немедленное завершение виртуальной машины Java с указанным кодом возврата | System.exit(0); |
Runtime.getRuntime().exit(int status) | Альтернативный способ завершения через объект среды выполнения | Runtime.getRuntime().exit(1); |
System.gc() | Запрос запуска сборщика мусора | System.gc(); |
System.currentTimeMillis() | Получение текущего времени в миллисекундах с эпохи Unix | long now = System.currentTimeMillis(); |
System.nanoTime() | Получение высокоточного времени для измерения интервалов | long start = System.nanoTime(); |
Математические операции
| Метод | Назначение | Пример |
|---|---|---|
Math.abs(int a) | Абсолютное значение числа | int x = Math.abs(-5); |
Math.max(int a, int b) | Максимальное из двух чисел | int m = Math.max(10, 20); |
Math.min(int a, int b) | Минимальное из двух чисел | int n = Math.min(10, 20); |
Math.sqrt(double a) | Квадратный корень | double r = Math.sqrt(25.0); |
Math.pow(double a, double b) | Возведение в степень | double p = Math.pow(2.0, 3.0); |
Math.random() | Генерация случайного числа от 0.0 до 1.0 | double rand = Math.random(); |
Math.round(float a) | Округление до ближайшего целого | long r = Math.round(3.7f); |
Math.floor(double a) | Округление вниз | double f = Math.floor(3.9); |
Math.ceil(double a) | Округление вверх | double c = Math.ceil(3.1); |
Работа со строками
| Метод | Назначение | Пример |
|---|---|---|
String.valueOf(Object obj) | Преобразование объекта в строковое представление | String s = String.valueOf(123); |
String.format(String format, Object... args) | Форматирование строки по шаблону | String msg = String.format("Hello %s", name); |
Objects.requireNonNull(T obj) | Проверка объекта на null с выбросом исключения при нарушении | Objects.requireNonNull(param); |
Objects.requireNonNull(T obj, String message) | Проверка на null с пользовательским сообщением об ошибке | Objects.requireNonNull(url, "URL не может быть пустым"); |
Objects.toString(Object obj) | Безопасное получение строкового представления с обработкой null | String text = Objects.toString(value); |
Objects.toString(Object obj, String nullDefault) | Строковое представление с указанием значения по умолчанию для null | String name = Objects.toString(user, "anonymous"); |
Работа с массивами
| Метод | Назначение | Пример |
|---|---|---|
Arrays.asList(T... a) | Создание фиксированного списка на основе массива | List<String> list = Arrays.asList("a", "b", "c"); |
Arrays.sort(int[] a) | Сортировка массива по возрастанию | Arrays.sort(numbers); |
Arrays.binarySearch(int[] a, int key) | Бинарный поиск элемента в отсортированном массиве | int pos = Arrays.binarySearch(sorted, 42); |
Arrays.copyOf(int[] original, int newLength) | Создание копии массива указанной длины | int[] copy = Arrays.copyOf(src, 10); |
Arrays.fill(int[] a, int val) | Заполнение массива одинаковым значением | Arrays.fill(buffer, 0); |
Arrays.equals(int[] a, int[] b) | Сравнение двух массивов на равенство | boolean same = Arrays.equals(a, b); |
Arrays.toString(Object[] a) | Преобразование массива в строковое представление | String view = Arrays.toString(data); |
Коллекции и утилиты
| Метод | Назначение | Пример |
|---|---|---|
Collections.emptyList() | Получение неизменяемого пустого списка | List<String> empty = Collections.emptyList(); |
Collections.singletonList(T o) | Создание неизменяемого списка из одного элемента | List<String> single = Collections.singletonList("item"); |
Collections.emptyMap() | Получение неизменяемой пустой карты | Map<String, Integer> empty = Collections.emptyMap(); |
Collections.emptySet() | Получение неизменяемого пустого множества | Set<String> empty = Collections.emptySet(); |
Collections.unmodifiableList(List<? extends T> list) | Создание неизменяемой обёртки вокруг списка | List<String> fixed = Collections.unmodifiableList(original); |
Collections.sort(List<T> list) | Сортировка списка | Collections.sort(items); |
Collections.reverse(List<?> list) | Разворот порядка элементов в списке | Collections.reverse(order); |
Проверки и сравнения объектов
| Метод | Назначение | Пример |
|---|---|---|
Objects.equals(Object a, Object b) | Безопасное сравнение двух объектов с обработкой null | boolean eq = Objects.equals(a, b); |
Objects.deepEquals(Object a, Object b) | Глубокое сравнение массивов и вложенных структур | boolean same = Objects.deepEquals(arr1, arr2); |
Objects.hash(Object... values) | Вычисление хеш-кода для набора значений | int h = Objects.hash(name, age, city); |
Objects.requireNonNullElse(T obj, T defaultObj) | Возврат объекта или значения по умолчанию если null | String name = Objects.requireNonNullElse(input, "default"); |
Objects.requireNonNullElseGet(T obj, Supplier<? extends T> supplier) | Возврат объекта или значения от поставщика если null | String cfg = Objects.requireNonNullElseGet(prop, () -> loadDefault()); |
Вывод и потоки
| Метод | Назначение | Пример |
|---|---|---|
System.out.println(String s) | Вывод строки в стандартный поток вывода с переводом строки | System.out.println("Готово"); |
System.out.print(String s) | Вывод строки без перевода на новую строку | System.out.print("Загрузка..."); |
System.err.println(String s) | Вывод сообщения об ошибке в стандартный поток ошибок | System.err.println("Ошибка подключения"); |
System.out.printf(String format, Object... args) | Форматированный вывод в стандартный поток | System.out.printf("Результат: %.2f%n", value); |